Sequences of Images

You can display a sequence of bitmaps with the same dimensions and formats by using the DrawDibDrawCFJFPG function with the DrawDibBegin17ON7GL function. DrawDibBegin improves the efficiency of DrawDibDraw by preparing the DrawDib DC for drawing.

 

Note  If your application does not use DrawDibBegin, DrawDibDraw implicitly executes it prior to drawing. If your application uses DrawDibBegin prior to DrawDibDraw, DrawDibDraw does not have to process the function and wait for it to complete.

 

The DrawDibBegin17ON7GL function provides DrawDibDrawCFJFPG with the DrawDib DC, the DC handle, the address of the BITMAPINFOHEADER05ZA4G structure, and the source and destination rectangle dimensions. When you display a sequence of bitmaps, DrawDibDraw checks the values of these items for each image in the sequence. If DrawDibDraw detects changes to any of these items, it implicitly calls DrawDibBegin again to adjust the DrawDib DC settings.

After using DrawDibBegin, you can draw the image sequence by using DrawDibDraw and specifying one or more flags as appropriate. Specify the DDF_SAME_HDC flag as long as the DC handle has not changed. Specify the DDF_SAME_DRAW flag when the following parameters for DrawDibDraw have not changed: the address of the BITMAPINFOHEADER structure and the source and destination rectangle dimensions.

You can update the flags set with DrawDibBegin by using the DrawDibEnd22QHV2D function followed by another call to DrawDibBegin. Then use DrawDibEnd to clear the DrawDib DC of its current flags and settings. The subsequent call to DrawDibBegin reinitializes the DrawDib DC with the appropriate flags and settings. Alternatively, you can update the flags for a DrawDib DC by using DrawDibBegin without DrawDibEnd. To do this, you must change at least one of the following settings concurrently with the flags: the address of the BITMAPINFOHEADER structure, or the source or destination rectangle dimensions.

You can increase the efficiency of DrawDibDraw for data-streaming operations that use compressed images, such as playing a video clip, by using the DrawDibStartEWQ29B and DrawDibStop15P0HJP functions. The DrawDibStart function prepares the DrawDib DC to receive a stream of images by sending a message to the video compression manager (VCM). When streaming has ended, DrawDibStop sends a message to VCM indicating that it can release resources it allocated for the data-streaming operation. For more information about VCM, see Video Compression Manager87.6PP.

 

Note  You must specify the width and height of the source and destination rectangles in your application. However, you do not need to specify the origins of the rectangles. Your application can redefine the origins in DrawDibDrawCFJFPG to use different portions of the image or to update different portions of the display.